package com.hzw.saas.api.group;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hzw.saas.api.group.bo.GroupRoleBo;
import com.hzw.saas.api.group.bo.GroupRolePermBo;
import com.hzw.saas.api.group.query.GroupRoleQuery;
import com.hzw.saas.api.group.query.GroupRoleUQuery;

/**
 * <p>
 * 角色表 服务类
 * </p>
 *
 * @author sonam
 * @since 2020-12-23
 */
public interface IGroupRoleService {

    /**
     * 角色是否存在
     * @param roleName
     * @return
     */
    boolean existRole(String roleName);

    /**
     * 添加角色
     */
    GroupRolePermBo addRole(GroupRoleQuery roleParam);

    /**
     * 分页查询角色列表
     * @param pageParam
     * @return
     */
    IPage<GroupRoleBo> getRoleListByPage(IPage pageParam);

    /**
     * 删除角色
     * @param roleIds
     */
    boolean removeBatch(String[] roleIds);

    /**
     * 获取角色
     * @param roleId
     * @return
     */
    GroupRolePermBo getRoleById(String roleId);

    /**
     * 更新角色信息
     * @param roleUParam
     * @return
     */
    void updateRole(GroupRoleUQuery roleUParam);
}
